local WEAVABLE = Class(function(self, inst)
    self.inst = inst
    self.weave_fn = nil
end)

function WEAVABLE:SetWeaveFn(fn)
    self.weave_fn = fn
end

function WEAVABLE:DoWeave(target, invobject, doer)
    if self.weave_fn then
        self.weave_fn(target, invobject, doer)
    end
end

return WEAVABLE
